<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>数组的常用方法</title>
</head>

<body>
  <script>
    //1.操作数组的方法中，分为变异方法和非变异方法。
    //2.其中，变异方法意味着会改变原数组，而非变异方法则只会返回一个新数组，不会修改原始数组


    // 1、数组的变异方法 --- 会改变原数组
    // push  pop  shift  unshift splice sort reverse
    // push() //数组尾部追加一个元素
    // pop()　　//数组尾部弹出一个元素
    // shift() //数组头部弹出一个元素
    // unshift() //数组头部插入一个元素
    // splice() //删除或替换某一个元素
    // sort() //按照特定的规则排序（数字根据从小到大排序，字符串根据    unicode位点排序）
    // reverse() //反转数组


    let arr = [1,2,11,3,4]
    console.log(arr)
    
    // push() 尾部添加一个元素
    // arr.push('尾部插入一个元素')
    // console.log(arr)

    // pop()  尾部删除一个元素
    // arr.pop()
    // console.log(arr)

    // unshift()  头部插入一个元素
    // arr.unshift('头部插入一个元素')
    // console.log(arr)

    // shift() 头部删除一个元素
    // arr.shift()
    // console.log(arr)

    // arr.splice(数组开始的角标 , 删除的个数 , 插入的元素)
    // arr.splice(2,2,'插入')
    // console.log(arr)

    // a-b 升序排列 从小到大
    arr.sort(function(a,b){
      return a-b
    })
    console.log(arr)

    arr.sort(function(a,b){
      return b-a
    })
    console.log(arr)



    // arr.reverse()
    // console.log(arr)
  </script>
</body>

</html>